import { DialogForm } from 'custom/index'
import { addScriptManagePage, updateScriptManagePage } from './api'
import { getCusSerList } from'@/views/menus/overtime-registration/api'
import { getCustomerSubAccountList } from '@/views/menus/overtime-registration/api'

const shortcuts = [
  {
    text: '今天',
    value: new Date(),
  },
  {
    text: '昨天',
    value: () => {
      const date = new Date()
      date.setTime(date.getTime() - 3600 * 1000 * 24)
      return date
    },
  }
]

const addDialog = new DialogForm('DialogForm')

addDialog
  .title('新增')
  .postApi(addScriptManagePage)
  .useGroup('')
    .useDictSelect('customGroup', 'customGroup').setProp('widthLabel', 'customGroupName').label('分组').end()
    .useApiSelect('userId', getCusSerList).label('选择人员').setProp('valueKey', 'userId').setProp('labelKey', 'name').required().end()
    .useDatePicker('punishDate').setProp('shortcuts', shortcuts).label('处罚日期').end()
    .useDictSelect('errorType', 'errorType').setProp('widthLabel', 'errorTypeName').label('错误类型').end()
    .useDictSelect('errCode', 'errCode').setProp('widthLabel', 'errCodeName').label('质检错误编号').end()
    .useItem('checkNo').label('质检编号').end()
    .useItem('punishAmount').label('处罚金额（元）').end()
    .useApiSelect('subAccountId', () => getCustomerSubAccountList({})).label('子账号名称').end()
    .useItem('buyerAccount').label('买家账号').end()
    .useItem('remark').label('备注').setProps({ type: 'textarea', autosize: { minRows: 4 } }).end()

const editDialog = new DialogForm('DialogForm')
editDialog
  .title('编辑')
  .postApi(updateScriptManagePage)
  .useGroup('')
    .useDictSelect('customGroup', 'customGroup').setProp('widthLabel', 'customGroupName').label('分组').end()
    .useApiSelect('userId', getCusSerList).label('选择人员').setProp('valueKey', 'userId').setProp('labelKey', 'name').required().end()
    .useDatePicker('punishDate').setProp('shortcuts', shortcuts).label('处罚日期').end()
    .useDictSelect('errorType', 'errorType').setProp('widthLabel', 'errorTypeName').label('错误类型').end()
    .useDictSelect('errCode', 'errCode').setProp('widthLabel', 'errCodeName').label('质检错误编号').end()
    .useItem('checkNo').label('质检编号').end()
    .useItem('punishAmount').label('处罚金额（元）').end()
    .useApiSelect('subAccountId', () => getCustomerSubAccountList({})).label('子账号名称').end()
    .useItem('buyerAccount').label('买家账号').end()
    .useItem('remark').label('备注').setProps({ type: 'textarea', autosize: { minRows: 4 } }).end()

export { addDialog, editDialog }
